<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dictionnaire RMI-Groupe 1-Conception</title>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
<body>

<div id="wrap">

<div id="header">
<h1>&nbsp;</h1>
<h1>&nbsp;</h1>
<h1><a href="#">Dictionnaire simple avec RMI</a></h1>
<h2>Groupe 1</h2>
</div>

<div id="right">

<h2><a href="specification.html"><strong>Conception</strong></a></h2>
<h3><strong>1.1 Diagramme des cas d’utilisation</strong></h3>
<div class="articles">

<p>	L’application mise en œuvre permet aux utilisateurs de réaliser un certain nombre d’opérations incluant la mise à jour d’un mot, la consultation des propriétés ou de la définition d’un mot, l’ajout d’un mot. L’utilisateur doit aussi pouvoir charger ou sauvegarder un dictionnaire (à partir d’un fichier).<br />
L’ensemble des fonctionnalités peut être présenté dans le diagramme des cas d’utilisation ci-dessous.  <br /> </p>       

  <img src="images/Use_Case.jpg" alt="1" width="700" height="400" align="right"/><br />
  Diagramme des cas d'utilisation du système.</p>
<ul>
  <ul>
    <li><h3><strong>1.2 Scénario des cas d’utilisation </strong></h3></li>
  </ul>
</ul>
<p>           Il est indispensable de décrire les scénarios des cas d’utilisation les plus important de notre application car ceux-ci seront utilisés pour décrire les scénarios de test. Sur ce, nous allons décrire des exemples de scénarios pour les cas d’utilisation : consulter une définition, modifié une définition, ajouter un terme, et suppression d'un terme.<br/>
</p>
<ul>
  <ul>
    <li><strong>1.2.1 Scénario du cas d'utilisation consulté un mot  </strong></li>
  </ul>
</ul><p>Les entités participantes sont : L'utilisateur, l'application et le média de stockage. Dans ce cas le média de stockage est la mémoire de l'application.</br>
<img src="images/consulte_definition.jpg" alt="1" width="533" height="400" align="right"/><br />
  Scénario du cas d'utilisation consulté un mot.</p>
<ul>
  <ul>
    <li><strong>1.2.2 Scénario cas d'utilisation ajouter un terme  </strong></li>
  </ul>
</ul><p>Les entités participantes sont : L'utilisateur, l'application et le média de stockage. Dans ce cas le média de stockage est la mémoire de l'application.</br>
<img src="images/ajouter_terme.jpg" alt="1" width="550" height="500" align="right"/><br />
  Scénario cas d'utilisation ajouter un terme.</p>
<ul>
  <ul>
    <li><strong>1.2.3 Scénario cas d'utilisation suppression terme  </strong></li>
  </ul>
</ul><p>Les entités participantes sont : L'utilisateur, l'application et le média de stockage. Dans ce cas le média de stockage est la mémoire de l'application.</br>
<img src="images/suppression.jpg" alt="1" width="500" height="450" align="right"/><br />
  Scénario cas d'utilisation suppression terme.</p>
<ul>
  <ul>
    <li><strong>1.2.4 Scénario cas d'utilisation modifier une définition  </strong></li>
  </ul>
</ul><p>Les entités participantes sont : L'utilisateur, l'application et le média de stockage. Dans ce cas le média de stockage est la mémoire de l'application.</br>
<img src="images/modificationterme.jpg" alt="1" width="500" height="450" align="right"/><br />
  Scénario cas d'utilisation modifier une définition.</p>
<ul>
  <ul>
    <li><h3><strong>1.3 Modélisation des interfaces</strong></h3></li>
  </ul>
</ul>
<p>           A partir du diagramme ci-dessus nous avons réalisé un modèle comportant cinq interfaces à savoir : <i>CategoryInterface, PropertyInterface, WordInterface, DictionnaryInterface, EntityInterface </i>.
L’interface <i>Entity</i> permet de faire la liaison entre un terme (mot) et sa définition.  Les autres interfaces ne sont pas présentées ici, car nous l’avons fait dans le document concernant la modélisation.  Ci-dessous figure le diagramme d’interaction entre les différentes interfaces..<br/>
</p>
<img src="images/interface_diagram.jpg" alt="1" width="700" height="550" align="right"/><br />
  Diagramme des interactions des interfaces.</p>
<ul>
  <li><em><i><b>CategoryInterface</b></i></em> :  définir l’ensemble des comportements applicables sur une catégorie.</li>
   <li>La fonction isXxx() retourne vrai  si la propriété sur laquelle elle est appelée est effectivement de type Xxx.</li>
   <li>Les fonctions getCategoryType et setCategoryType permettent respectivement d’obtenir et de spécifier la catégorie.</li>
  <li><em><i><b>PropertyInterface</i></b></em> :  définir l’ensemble des comportements applicables sur une propriété.</li>
  <li>La fonction isXxx() retourne vrai  si la propriété sur laquelle elle est appelée est effectivement de type Xxx.</li>
  <li>Les type CodeGenre et CodeTrans sont des types énumérés désignant le genre et la transitivité respectivement. Les types CodeGenre et CodeTrans sont définis respectivement comme suit : enum CodeGenre {MASC, FEM }, enum CodeTrans {TRANS, INTR }.</li>
  <li>La fonction getXxx permet de récupérer la propriété Xxx.</li>
  <li>La fonction printString() renvoie une chaîne de caractère correspondant à la propriété proprement dite (GENRE, PLURIEL, FEMININ, GROUPE, TRANSIVITE ).</li>   
  <li><em><i><b>DictionatyInterface</i></b></em> : définir l’ensemble des comportements applicables sur le dictionnaire.</li>
  <li>Fonction getDefinition (string entree) est utilisé pour récupérer la définition correspondant à l’entrée.</li> 
  <li>La fonction sortDic(boolean direct) permet de trié le dictionnaire soit dans l’ordre lexicographique ou dans l’ordre inverse selon la valeurs direct.</li>
  <li>Les fonctions loadDic() et saveDic() permettent respectivement de charger le dictionnaire à partir d’un fichier et de le sauvegarder sur disque  conformément au langage de spécification défini dans l’énoncé.</li>
  <li>Les fonctions <i>firstEntity()</i> et <i>lastEntity()</i> permettent respectivement de récupérer respectivement la première et la dernière entité du dictionnaire.</li>
  <li>Les fonctions nextEntity() et prevEntity() permettent de parcourir le dictionnaire.  <i>nextEntity()</i> renvoie l’entité suivant l’entité courante tandis que prevEntity() permet d’obtenir l’entité précédent l’entité courante.</li>   
  <li>Les fonctions modifDefinition et delEntity permettent respectivement de modifier la définition d’un terme et de supprimer une entité.</li>
  <li><em><i><b>WordInterface </i></b></em> : définir l’ensemble des comportements applicables sur mot dans ce dictionnaire.</li>
   <li>Dans cette interface, nous définissons la fonction pour assigner/ récupérer la liste de propriétés. Pour chaque  Word concrèt (une classe qui implémente cette interface),  on assigne la liste de propriétés correspondantes : Genre et Pluriel pour les noms, Féminin et Pluriel pour les adjectifs, Groupe et Transitivité pour les verbes. </li>
  <li>La fonction <i>myCategory()</i> permet de récupérer la catégorie d’un mot </li>
  <li>La fonction getTerm() permet de récupérer un mot ou terme </li>
  <li><em><i><b>EntityInterface</i></b></em> : définir la correspondance entre un mot et sa définition. </li></ul>

<p>&nbsp;</p>
</div>
<h2>&nbsp;</h2>
</div>

<div id="left"> 

<h3>Categories :</h3>
<ul>
<li><a href="index.html">Introduction</a></li> 
<li><a href="specification.html">Conception</a></li>
<li><a href="fonctionement.html"> Fonctionnement du programme</a></li>
<li><a href="realisation.html">Détails d'implémentation</a></li> 
<li><a href="scenerio_de_test.html">Déscription Scénarios de test</a></li>
<li><a href="resultat.html">Tests et Résultats</a></li>
<li><a href="conclusion.html">Conclusion</a></li> 
 <li><a href="membres.html">Membres de l'équipe 1</a></li> 
</ul>



</div>
<div style="clear: both;"> </div>

<div id="footer">
Designed by <a href="http://www.free-css-templates.com/">Free CSS Templates</a></div>
</div>


</body>
</html>
